package character.race;


/**
 * Race configuration class.
 * @author pcdejager
 */
public class Race {

    /**
     * Constructor.
     * @param name The race name
     * @param max Max age
     * @param m Maternity info
     * @param partnerConfig Partner configuration
     * @param raceRates Race rates
     * @param attribs Physical attributes
     */
    public Race(final String name,
            final int max,
            final RaceMaternity m,
            final RacePartner partnerConfig,
            final RaceRates raceRates,
            final RacePhysicalAttributes attribs) {
        raceName = name;
        maternity = m;
        maximumAge = max;
        partner = partnerConfig;
        rates = raceRates;
        physical = attribs;
    }

    /**
     * Get the race name.
     * @return The name
     */
    public final String getName() {
        return raceName;
    }

    /**
     * Get the maternity information.
     * @return The info
     */
    public final RaceMaternity getMaternity() {
        return maternity;
    }

    /**
     * Get the maximum age for this race.
     * @return The max age
     */
    public final int getMaximumAge() {
        return maximumAge;
    }

    /**
     * Get partner configuration.
     * @return Partner config
     */
    public final RacePartner getPartner() {
        return partner;
    }

    /**
     * Get the rates.
     * @return Rates
     */
    public final RaceRates getRates() {
        return rates;
    }

    /**
     * Get the physical attributes.
     * @return The physical attributes
     */
    public final RacePhysicalAttributes getPhysicalAttributes() {
        return physical;
    }

    /**
     * The race name.
     */
    private String raceName;

    /**
     * The maternity information.
     */
    private RaceMaternity maternity = null;

    /**
     * The maximum age.
     */
    private int maximumAge = 0;

    /**
     * Partner configuration.
     */
    private RacePartner partner = null;

    /**
     * Race rates.
     */
    private RaceRates rates = null;

    /**
     * Physical attributes.
     */
    private RacePhysicalAttributes physical = null;
}
